<?php
/**
 * Created by VISPHP 快速开发框架.
 * Author:乐清
 * email:804966813@qq.com
 * Date: 2019/2/17
 * Time: 11:40
 */

namespace app\admin\controller;

use app\admin\model\Router;
class Urls extends Visphp
{
    public function index(){
        if(request()->isAjax()){
            $db=new Router();
            $url=$db->order('create_time desc')->select();
            return json($url);
        }
        return view();
    }
    public function status()
    {
        $db=new Router();
        //获取文件id
        $id = $this->request->has('id') ? $this->request->param('id', 0, 'intval') : 0;
        if($id > 0) {
            if($this->request->isAjax()) {
                //是提交操作
                $post = request()->param();
                $status = $post['status'];
                if(false == $db->save(['status'=>$status],['id'=>$id])) {
                     $this->error('设置失败');
                } else {

                     $this->success('设置成功','admin/urls/index');
                }
            }
        } else {
            $this->error('id不正确');
        }
    }
    public function edit()
    {
        //获取规则id
        $id = $this->request->has('id') ? $this->request->param('id', 0, 'intval') : 0;
        $model = new Router();
        //是正常添加操作
        if($id > 0) {
            //是修改操作
            if($this->request->isPost()) {
                //是提交操作
                $post = $this->request->post();
                //验证  唯一规则： 表名，字段名，排除主键值，主键名
                $validate = new \think\Validate([
                    ['url', 'require', '需要美化的url不能为空'],
                    ['aliases', 'require', '美化后的url不能为空'],
                ]);
                //验证部分数据合法性
                if (!$validate->check($post)) {
                    $this->error('提交失败：' . $validate->getError());
                }
                //验证规则是否存在
                $urlconfig = $model->where('id',$id)->find();
                if(empty($urlconfig)) {
                    $this->error('id不正确');
                }
                if(false == $model->allowField(true)->save($post,['id'=>$id])) {
                    $this->error('修改失败');
                } else {

                    $this->success('修改成功','admin/urls/index');
                }
            } else {
                //非提交操作
                $urlconfig = $model->where('id',$id)->find();
                if(!empty($urlconfig)) {
                    $this->assign('data',$urlconfig);
                    return $this->fetch();
                } else {
                    $this->error('id不正确');
                }
            }
        } else {
            //是新增操作
            if($this->request->isPost()) {
                //是提交操作
                $post = $this->request->post();
                //验证  唯一规则： 表名，字段名，排除主键值，主键名
                $validate = new \think\Validate([
                    ['url', 'require', '需要美化的url不能为空'],
                    ['aliases', 'require', '美化后的url不能为空'],
                ]);
                //验证部分数据合法性
                if (!$validate->check($post)) {
                    $this->error('提交失败：' . $validate->getError());
                }
                if(false == $model->allowField(true)->save($post)) {
                    $this->error('添加失败');
                } else {

                    $this->success('添加成功','admin/urls/index');
                }
            } else {
                //非提交操作
                return view();
            }
        }

    }
    public function delete()
    {
        if($this->request->isAjax()) {
            $db=new Router();
            $id = $this->request->has('id') ? $this->request->param('id', 0, 'intval') : 0;
            if(false == $db->where('id',$id)->delete()) {
                $this->error('删除失败');
            } else {

                $this->success('删除成功','admin/urls/index');
            }
        }
    }
}